package com.share.ai.langchain4j.functioncalls;

import dev.langchain4j.agent.tool.P;
import dev.langchain4j.agent.tool.Tool;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * 告诉ai 遇到什么对话,调用下面的方法并提取信息
 * <p>
 * 当聊天记录中存在类似含义的语句时 @Tool("某个地区有多少个名字"), 匹配到当前方法，提取姓名赋值给name并执行此方法
 */
@Slf4j
@Component
public class ToolService implements Tools {
    @Tool("某个地区有多少个名字")
    public Integer main(@P("姓名") String name) {
        log.info("提取到用户的名字name={},即将执行业务方法", name);
        return 1;
    }

    @Tool("退订车票")
    public Integer main1(@P("预定号") String name) {
        log.info("提取到用户的名字name={},即将执行业务方法", name);
        return 1;
    }
}
